Test Driver Generation from Object-Oriented Interaction Traces

نویسندگان

  • Frank S. de Boer
  • Marcello M. Bonsangue
  • Andreas Grüner
  • Martin Steffen
چکیده

Whereas object-orientation is established as a major paradigm for software development, testing methods specifically targeted towards object-oriented, classbased languages are less common. We propose a formal testing framework for object-oriented programs, based on the observable trace semantics of class components, i.e., for black-box testing. In particular, we propose a test specification language which allows to describe the behavior of the component under test in terms of the expected interaction traces between the component and the tester. The specification language is tailor-made for object-oriented thread-based programming languages like Java and C, e.g., in that it reflects the nested call and return structure of thread-based interactions at the interface. From a given trace specification, a testing environment is synthesized such that component and environment represent an executable closed program. The design of the specification language is a careful balance between two goals: using programming constructs in the style of the target language helps the programmer to specify the interaction without having to learn a completely new specification notation. On the other hand, additional expressions in the specification language which are usually not provided by the target language itself allow to specify the desired trace behavior in a concise, abstract way, hiding the intricacies of the required synchonization code at the lower-level programming language.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Java Test Driver Generation from Object-Oriented Interaction Traces

In the context of test-driven development for object-oriented programs, mock objects are increasingly used for unit testing. Several Java mock object frameworks exist, which all have in common that mock objects, realizing the test environment, are directly specified at the Java program level. Though using directly the programming language may facilitate acceptance by software developers at firs...

متن کامل

Conformance Testing of Distributed Concurrent Systems with Executable Designs

This paper presents a unified approach to test case generation and conformance test execution in a distributed setting. A model in the object-oriented, concurrent modeling language Creol is used both for generating test inputs and as a test oracle. For test case generation, we extend Dynamic Symbolic Execution (also called Concolic Execution) to work with multi-threaded models and use this to g...

متن کامل

Test Case Generation and Optimization of Object-Oriented Software using UML Behavioral Models

Testing guarantees the quality of software to be developed in terms of presence of bugs or errors. Testing can be separated into two categories such as White Box and Black Box testing. White box testing is done through detail analysis of program structure where as black box methodology deals with specification and design document i.e. without program details. Thus black box testing methodology ...

متن کامل

The Function of a Chlorite Hand-Bag of the Halil Rud Civilization as Inferred from Its Wear Traces

A chlorite “hand-bag” belonging to the once-called “intercultural style” production, currently on exhibit in the NationalArchaeological Museum, Tehran, is described focusing attention, for the first time, to the peculiar wear traces clearlyvisible on the handle and along its contour. The strong wear suggests that the hand-bag was suspended for a long time ona cord; and that in this setting it w...

متن کامل

Techniques for Reducing the Complexity of Object-Oriented Execution Traces

Understanding the behavior of object-oriented systems is almost impossible by merely performing static analysis of the source code. Dynamic analysis approaches are better suited for this purpose. Run time information is typically represented in the form of execution traces that contain object interactions. However, traces can be very large and hard to comprehend. Visualization tools need to imp...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007